"""
利用多线程模拟多文件下载

"""
import threading #导入线程的全部模块
#导入随机数模块  只想导入随机数模块中整数随机的函数
from random import randint #从随机模块中导入随机整数函数
from time import time,sleep


#定义下载的函数
def download_task(fileName):
    print('开始下载%s......' % fileName)
    #利用随机数生成下载的剩余时间
    time_to_download = randint(5,10)
    print('剩余时间%d秒' % time_to_download)
    sleep(time_to_download)
    print("%s下载完成" % fileName)



def main():
    #获得开始时间
    start = time()
                            #在创建的线程的时候，可以对函数进行传参(元组)
    thread1 = threading.Thread(target=download_task,args=('Python从入门到放弃.pdf',))
    thread2 = threading.Thread(target=download_task, args=('潘宏爱狗.avi',))
    #thread1.setDaemon(True)# 守护线程：主线程结束后，子线程也结束  了解
    #thread2.setDaemon(True)
    #启动线程
    thread1.start()
    thread2.start()
    
    thread1.join()#jion 线程同步的数据，主线程任务结束后进入阻塞状态，已知等到其他子线程执行结束之后，主线程在终止
    thread2.join()

     #因为线程开启之后 会抢夺CPU资源
    end = time()
    print('总共耗费了%.3f秒' % (end - start))

if __name__ == '__main__':
    main()